print portal: use request path utilities
authorMatthias Clasen <mclasen@redhat.com>
Thu, 30 Aug 2018 17:12:18 +0000 (13:12 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 31 Aug 2018 03:10:13 +0000 (23:10 -0400)
Less code duplication, more cookies!

gtk/gtkprintoperation-portal.c

index 484302fa12e9bbb7d62e177c5326243a6dde135f..fb3dad0f04b0742f90951dd9a1eaa19c75965b45 100644 (file)
@@ -556,17 +556,9 @@ call_prepare_print (GtkPrintOperation *op,
   GtkPrintOperationPrivate *priv = op->priv;
   GVariantBuilder opt_builder;
   char *token;
-  char *sender;
-  int i;
 
-  token = g_strdup_printf ("gtk%d", g_random_int_range (0, G_MAXINT));
-  sender = g_strdup (g_dbus_connection_get_unique_name (g_dbus_proxy_get_connection (portal->proxy)) + 1);
-  for (i = 0; sender[i]; i++)
-    if (sender[i] == '.')
-      sender[i] = '_';
-
-  portal->prepare_print_handle = g_strdup_printf ("/org/fredesktop/portal/desktop/request/%s/%s", sender, token);
-  g_free (sender);
+  portal->prepare_print_handle =
+      gtk_get_portal_request_path (g_dbus_proxy_get_connection (portal->proxy), &token);
 
   portal->response_signal_id =
     g_dbus_connection_signal_subscribe (g_dbus_proxy_get_connection (G_DBUS_PROXY (portal->proxy)),